#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
const int mod=998244353;

int trans(char x)
{
    if(x=='A'||x=='B'||x=='C')	return 2;
	if(x=='D'||x=='E'||x=='F')	return 3;
	if(x=='G'||x=='H'||x=='I')	return 4;
	if(x=='J'||x=='K'||x=='L')	return 5;
	if(x=='M'||x=='N'||x=='O')	return 6;
	if(x=='P'||x=='Q'||x=='R'||x=='S')	return 7;
	if(x=='T'||x=='U'||x=='V')	return 8;
	if(x=='W'||x=='X'||x=='Y'||x=='Z')	return 9;
}

int main()
{
	ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);

	int n,m;
	cin >> n >> m;
	map <int,int> mp;
	while(n--)
	{
		string s;
		cin >> s;
		int res=0;
		for(int i=0;i<s.size();i++)
		{
			int temp=trans(s[i]);
			res = res * 10 + temp;
		}
		mp[res]++;
	}
	while(m--)
	{
		int a;
		cin >> a;
		if(mp.find(a)!=mp.end())
		{
			cout << mp[a] << endl;
		}
		else
		{
			cout << 0 << endl;
		}
	}
    return 0;
}

